package dao.aplicacao;

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;

import modelos.aplicacao.VersaoModel;

import dao.BaseDao;

public class VersaoDao extends BaseDao {
	
	public ArrayList<VersaoModel> getVersao(int idModelo) throws SQLException{
		
		ArrayList<VersaoModel> versao = new ArrayList<VersaoModel>();
		
		String sql = "SELECT * FROM `versao` WHERE `id_modelo` = " + idModelo;
		
		PreparedStatement ps = con.prepareStatement(sql);
		
		ResultSet result =  ps.executeQuery();
		
		while(result.next()){
			
			VersaoModel ver = new VersaoModel();
			
			ver.setId(result.getInt("id"));
			ver.setModelo(result.getInt("id_marca"));
			ver.setNome(result.getString("nome"));
			ver.setValor(result.getFloat("valor"));
			
			versao.add(ver);
			
		}
		
		return versao;
		
	}
	
	public VersaoModel getMarcaModelo(int idModelo) throws SQLException{
	
		VersaoModel dados = new VersaoModel();
		
		String sql = 	"SELECT " +
							"`marca`.`nome` as marca, " +
							"`marca`.`imagem` as imgmarca, " +
							"`modelo`.`nome` as modelo, " +
							"`modelo`.`imagem` as imgmodelo " +
						"FROM `modelo`" +
						"LEFT JOIN `marca` ON (`marca`.`id` = `modelo`.`id_marca`) " +
						"WHERE `modelo`.`id` = " + idModelo + " ";

		PreparedStatement ps = con.prepareStatement(sql);

		ResultSet result =  ps.executeQuery();

		while(result.next()){

			dados.setNomeMarca(result.getString("marca"));
			dados.setImgMarca(result.getString("imgmarca"));
			dados.setNomeModelo(result.getString("modelo"));
			dados.setImgModelo(result.getString("imgmodelo"));
		}
		
		return dados;
	}
	
	public double getValorVersaoSelecionada(String versao) throws SQLException{
		
		String sql = 	"SELECT `valor` FROM `versao` WHERE id = " + versao;

		PreparedStatement ps = con.prepareStatement(sql);
		
		ResultSet result =  ps.executeQuery();
		
		while(result.next()){
			return result.getDouble("valor");
		}
		
		return 0F;
	}
}
